草庐IT

c++ - 循环中的 Stroustrup 和溢出 size_type

全部标签

javascript - window.pageYOffset 始终为 0,溢出 x : hidden

我正在创建一个网页,其中包含一些只需要在特定时间滑入的屏幕外内容。为此,我在html,body上设置了overflow-x:hidden。这样用户就无法向左或向右滚动以获取内容。但是,在应用程序的某个时刻,我还需要用户向下滚动的数量。据我所知,window.pageYOffset是最可靠的方法之一。但是,当我设置overflow-x规则时。window.pageYOffset始终等于0。这些事情不应该彼此毫无关联吗?我怎样才能解决这个问题?我已经在Safari、Firefox和Chrome上测试过了。我试过document.documentElement.scrollTop但这只适用于

javascript - 类型错误 : Failed to set the 'buffer' property on 'AudioBufferSourceNode' : The provided value is not of type 'AudioBuffer

我正在处理现有的codoCircle.调低音量。它按预期运行。现在我想在codepen中使用相同的代码我得到这个错误类型错误:无法在“AudioBufferSourceNode”上设置“缓冲区”属性:提供的值不是“AudioBuffer”类型我做了一些研究,找到了firstanswer有用。答案是当我在playSoundplayer.buffer=buffer中分配时,缓冲区仍未定义,因为加载回调尚未触发。这对我来说很有意义,所以我尝试做一个setTimeout像:setTimeout(playSound,9000);没有成功。你知道解决这个问题的方法吗?为什么在CodeCircle中

javascript - 在 input[type=file] 上使用 click() 时出现问题

click()函数有问题。它在Opera中不起作用。我正在尝试使inputtype=fileclickedon另一个元素的onclick事件。我需要设置我的输入type=file元素的样式,因此我将其设置为不可见,并将其替换为简单样式的按钮。现在我希望在单击按钮时单击文件元素。我不能使用jQuery,因为我在我的页面中使用MooTools库作为日历,当我尝试使用jQuery时它会产生冲突。我也尝试使用jQuery.noConflict();来避免冲突,但我做不到,因为我是jQuery的新手。这是我的html代码:这是我的JavaScript代码:functionshow_upload(

javascript - CSS3 选择器 [*|type ="toc"]

我正在使用EPUB.JS,它使用以下代码从ePub文件中获取一些信息:varnavEl=navHtml.querySelector('nav[*|type="toc"]')这行代码在IE10中失败,因为querySelector返回null。我以前从未见过格式为[*|attr="val"]的属性选择器,但我认为他们想说的是,“选择所有具有任何属性或名为“type”且值为“toc”的属性的导航元素。”我找不到关于这种星形管道语法的任何信息,但我认为它是某种在Webkit/Mozilla中有效但在IE中无效的逻辑OR命令。将该行更改为:varnavEl=navHtml.querySelec

lambda 函数引用封闭循环中的变量时的 javascript 作用域问题

关于stackoverflow的第一个问题:)希望我不会让自己难堪......我有一个加载相册列表的javascript函数,然后为每个相册创建一个列表项。列表项应该是可点击的,所以我用一个函数调用jQuery的click()。我循环执行此操作。我的问题是所有项目似乎都具有相同的点击功能,即使我尝试制作一个在每次迭代中做不同事情的新项目。另一种可能性是迭代变量在某种程度上是全局的,函数引用它。下面的代码。debug()只是对Firebug的console.debug()的封装。functionprocessAlbumList(data,c){for(varalbumindata){va

javascript - var i = [0] 在 for 循环中,然后递增 i++ - 为什么它有效?

在我正在阅读的一本书(JavaScript和JQuery-JonDuckett的交互式前端开发)中有一个有趣的错误或者(至少我是这么认为的)它不会阻止代码工作:for(vari=[0];i这是脚本的一部分,它循环遍历表单中的所有单选按钮并附加一个事件监听器(它做什么并不重要)。但是……为什么我要初始化为一个数组?为什么递增有效?为什么整个循环都有效?当然,如果您将vari=[0]替换为vari=0,代码仍然有效。当您添加一些警报以检查循环的每次迭代中i的值和i的类型时,在第二次迭代时i的类型从对象(毕竟在第一次迭代中它是一个数组)变为数字.这是我迄今为止从未遇到过的一种隐式类型转换(谷

javascript - 从回调中递归调用函数会导致堆栈溢出吗?

我想在触发事件后调用一个函数,然后在同一个回调中再次调用该函数。这是为了在函数完成时创建一种事件监听器。当你看到代码时,你就会知道我要做什么:"usestrict";varpage=require('webpage').create();varsystem=require('system');functiononStdReadLine(callback){system.stdin.readLineAsync(function(err,line){callback(line);onStdReadLine(callback);});}onStdReadLine(function(line)

JavaScript 装饰器模式。错误 : Maximum call stack size exceeded

这是装饰器模式的一个工作示例:classDummy{run(){console.log('run');}}functionget(){letinstance=newDummy();instance.run=((func)=>{returnfunction(){func();console.log('decoratorrun');}})(instance.run);returninstance;}letobj=get();obj.run();但是,如果我们将get函数更改为:functionget(){letinstance=newDummy();instance.run=functio

javascript - 当我在 css 中使用 margin auto 属性时,如何使用 javascript 获取 margin left size

我有div与margin:auto;我只需要得到margin-left使用javascript的大小值:)//css.test{margin:auto;width:100px;height:100px;outline:1pxsolidred;}//htmlTestLiveexample 最佳答案 使用这个:1)使用jQueryvarleft=$(".test").offset().left;2)或者,第二个版本是:将您的div替换为,并使用这个js。varleft=document.getElementById("test").of

javascript - 循环中几个元素的 JS ArrowDown addEventListener(演示)

键盘ArrowDown事件有以下监听器(它的键码是40):window.onload=function(){varitemsContainer=document.getElementById('cities-drop');document.addEventListener('keyup',function(event){if(event.keyCode==40&&itemsContainer.style.display=='block'){event.preventDefault();for(vari=0;i在这种情况下,悬停跳转到列表中的最后一个元素,在按下ArrowDown之后。如